package com.cskaoyan.day4._03_linkedlist;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
 * @author Common-zhou
 * @since 2023-03-02 11:26
 */
public class Demo1 {
    public static void main(String[] args) {
        //test1();

        //test2();

        // 链表的插入速度快一些

        test3();


    }

    private static void test3() {
        List<String> list = new LinkedList<>();

        list.add("zs");
        list.add("ls");
        list.add("wu");

        // 链表 增加  删除快
        // 需要删除ls
        // 1.找到ls O(n)
        // 2.删 O(1)
        list.remove("ls");

    }

    private static void test2() {
        List<String> list = new LinkedList<>();

        list.add("zs");
        list.add("ls");
        list.add("wu");

        List<String> list1 = new LinkedList<>(list);

        System.out.println(list1);

        // 1. 迭代器
        System.out.println("这是通过迭代器遍历出来的数据------------------");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

        // 2. for循环
        System.out.println("这是通过for循环遍历出来的数据------------------");
        for (String s : list) {
            System.out.println(s);
        }

        // 3. fori
        System.out.println("这是通过fori循环遍历出来的数据------------------");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        // 4.listIterator

    }

    private static void test1() {
        List<String> list = new LinkedList<>();

        list.add("zs");
        list.add("ls");
        list.add("wu");

        System.out.println(list);


    }
}
